package com.fzh.service;

import java.util.List;

import com.fzh.pojo.entity.Cart;

public interface CartService {
	
	/**
	 * 查询出所有购物车信息
	 * @param setValue
	 * @param limit
	 * @param f_uid
	 * @param f_pid
	 * @return
	 */
	public List<Cart> queryAllCart(Integer setValue,Integer limit,String f_uid,String f_pid);
	
	/**
	 *  查询出总条数
	 * @param f_uid
	 * @param f_pid
	 * @return
	 */
	public Integer queryCartCounts(String f_uid,String f_pid);

	/**
	 * 添加一个购物车
	 * @param cart
	 * @return
	 */
	public Boolean addCart(Cart cart);

	/**
	 * 编辑购物车信息
	 * @param cart
	 * @return
	 */
	public Boolean editCartById(Cart cart);

	/**
	 * 根据ids批量删除购物车
	 * @param ids
	 * @return
	 */
	public Boolean delAllCartByIds(String ids);
	
	/**
	 * 根据id删除一个购物车
	 * @param id
	 * @return
	 */
	public Boolean delCartById(Integer id);

	/**
	 * {前台}查询出对应用户的购物车
	 * @param id
	 * @return
	 */
	public List<Cart> queryCartByUserIdF(Integer id);

	/**
	 * {前台}查询出对应用户的购物车商品的数量
	 * @param id
	 * @return
	 */
	public String queryCartCountByUserIdF(Integer id);

	/**
	 * {前台}查询出对应用户的购物车商品的总金额
	 * @param id
	 * @return
	 */
	public String queryCartTotalSumByUserIdF(Integer id);

	/**
	 * {前台}当点击购物车栏×时删除该用户下的对应商品
	 * @param productId
	 * @param userId
	 */
	public Boolean delCartProductByUserIdAndProductIdF(Integer productId, Integer userId);

	/**
	 * {前台}从商品详情页面添加一个购物车商品
	 * @param cart
	 * @return
	 */
	public Boolean addCartByUserIdAndProductIdF(Cart cart);

	/**
	 * {前台}从商品详情页面添加一个购物车商品前先查询一下这个商品是否已经有了，如有了就行修改他的数量
	 * @param userId
	 * @param productId
	 * @return
	 */
	public Cart queryCartByUserIdAndProductIdF(Integer userId, Integer productId);

	/**
	 * {前台}查询出所有的购物车信息，根据用户id和商品的ids
	 * @param userId
	 * @param id
	 * @return
	 */
	public List<Cart> queryCartByUserIdAndProductIds(Integer userId, List<String> id);

	/**
	 * {前端}添加订单后进行购物车清空
	 * @param userId
	 */
	public void removeCartByUserId(Integer userId);
	
	/**
	 * {前端}根据选中得购物车id查询
	 * @param userId
	 */
	public List<Cart> selectCartByIds(String[] ids);
	
	
}
